/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.afcepf.projet2.metiers.donnees.dao.implementations.commandes;

import fr.afcepf.projet2.metiers.donnees.dao.implementations.DaoGenericImpl;
import fr.afcepf.projet2.metiers.donnees.dao.interfaces.commandes.IDaoCommande;
import fr.afcepf.projet2.metiers.donnees.entites.commandes.Commande;
import fr.afcepf.projet2.metiers.donnees.entites.commandes.LigneCommande;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;

/**
 * @see IDaoCommande
 * @author Sylvain
 */
@Stateless(name = "DaoCommandeImpl")
public class DaoCommandeImpl extends DaoGenericImpl<Commande, Integer> implements IDaoCommande {

    /**
     * @see IDaoCommande#ajouterLigneCommande(int, int) 
     */
    @Override
    public Commande ajouterLigneCommande(final int idCommande, final int idLigneCommande) {
        Commande commande = obtenirEntityManager().find(Commande.class, idCommande);
        LigneCommande ligneCommande = obtenirEntityManager().find(LigneCommande.class, idLigneCommande);
        commande.addLigneCommande(ligneCommande);
        return commande;
    }

    @Override
    public List<Commande> ajouterListeLigneCommande(int idCommande,
    List<Integer> listeIdLigneCommande) {
        List<Commande> listeCommande = new ArrayList<>();
       for(int idLigneCommande : listeIdLigneCommande){
          Commande commande =  ajouterLigneCommande(idCommande, idLigneCommande);
          listeCommande.add(commande);
       }
       return listeCommande;
    }
}
